public class Solution {
    /**
     * @param year: a number year
     * @param month: a number month
     * @return: Given the year and the month, return the number of days of the month.
     */
    public int getTheMonthDays(int year, int month) {
        // write your code here
        if(year %100 == 0)
        {
            if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
            {
                return 31;
            }
            else if(month == 2)
            {
                if(year %400 == 0)
                {
                    return 29;
                }
                else
                {
                    return 28;
                }
            }
            else
            {
                return 30;
            }
        }
        else
        {
            if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
            {
                return 31;
            }
            else if(month == 2)
            {
                if(year %4 == 0)
                {
                    return 29;
                }
                else
                {
                    return 28;
                }
            }
            else
            {
                return 30;
            }
        }
    }
}
//大佬解法：
public class Solution {
    public int getTheMonthDays(int year, int month) {
        int[] day = new int[]{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        if (month == 2) {
            if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
                return 29;
            }
        }
        return day[month];
    }
}
/*
看着别人的解法我不仅陷入了思考，能把数组这样用，我属实没有想到，其实学习的过程也是这样，学而知，不学何来的知；
在学习基础知识的基础上，别人或许想出来了基于这个原型的另外的模型，另外优秀的思路，知识大家都学过了，你没想出来，
但是别人想出来了，这样想的话，不免有些泄气。但是，人类传承的本质不就是学习吗？ 
学习能自己想出来模型是很好，但是，别人把自己的思想发出来， 你看了，然后学会了，又何尝不是一种成长呢？
    与诸君共勉
*/